Hardware developers, and particularly in the integrated circuit design community, commonly apply a hierarchical development approach to design, where a high-level product references, or is built out of, sub-products. Similarly, software developers commonly use a hierarchy, with higher level software components making use of reusable software blocks.
A Source Code Management (SCM) system provides, at its most basic level, a means to version control a set of data files stored in a memory or database, which allows tracking changes to those files over time. Examples of SCM systems are:                a) The DesignSync® system, which is part of Dassault Systemes' Defect Management and Collaboration product;        b) The publicly available Concurrent Versioning System (CVS);        c) The publicly available GIT revision control system; and        d) The Subversion and Perforce systems available with commercial support.        
A hierarchical SCM system is one where the data files can be managed as packages or modules, which may contain large numbers of individual files. The modules further or packages can reference other modules or packages to form a hierarchy of data.
A Product Lifecycle Management (PLM) system provides processes for managing the entire lifecycle of a product from inception, engineering design, manufacture, to service and disposal of the manufactured products. The PLM system integrates people, data, processes and business systems and provides a product information backbone for companies and their extended enterprise. The PLM system represents data as a series of objects connected by relationships. For example, a first object may represent a product under development, which has a relationship to a second object representing the organization which is developing the product. These objects may also support revisions (or versions) representing different releases of the objects, or representing the development state of the object (for example, different revisions might represent a version 1.0 of a chip or a later 2.0 version of the chip, or might also represent the work that is in progress towards a future release). These objects may also support hierarchy via relationships between objects of the same or similar types. For example, the objects representing a chip may have a relationship to an object representing the CPU module that is part of that chip. The applications provided by Dassault Systemes under the banner of the 3DExperience® Platform provide an example of a PLM system.